using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using bitzhuwei.Compiler;

namespace bitzhuwei.AnsiCFormat {
    /// <summary>
    /// Correspond to the Vn node conditional_expression in the grammar(AnsiC).
    /// </summary>
    internal partial class Vnconditional_expression : IFullFormatter {
        // [056]=conditional_expression : logical_or_expression ;
        // [057]=conditional_expression : logical_or_expression '?' expression ':' conditional_expression ;

        private readonly TokenRange _scope;
        public TokenRange Scope => _scope;

        public void Format(TextWriter writer, FormatContext context) {
            throw new NotImplementedException();
        }

        public void FullFormat(BlankConfig preConfig, TextWriter writer, FormatContext context) {
            throw new NotImplementedException();
        }

        public IEnumerable<string> YieldTokens(TextWriter writer, FormatContext context) {
            throw new NotImplementedException();
        }

        // [56]=conditional_expression : logical_or_expression ;
        // dumped by ReversedListExtractor 1
        internal Vnconditional_expression(Vnlogical_or_expression last0) {

        }
        // [57]=conditional_expression : logical_or_expression '?' expression ':' conditional_expression ;
        // dumped by ReversedListExtractor 2
        internal void Insert(
            Vnlogical_or_expression r4
            , Token r3/* reserved word is omissible */
            , Vnexpression r2
            , Token r1/* reserved word is omissible */
        ) {

        }

    }
}
